package com.stm.basicData.service.impl;

import java.util.Date;
import java.util.List;
import java.util.UUID;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import com.stm.basicData.domain.KfToolsRequester;
import com.stm.basicData.mapper.KfToolsRequesterMapper;
import com.stm.basicData.service.KfToolsRequesterService;
import com.stm.common.annotation.DataScope;
import com.stm.common.core.text.Convert;

/**
 * 委托单位 服务层实现
 * 
 * @author wyc
 * @date 2019-04-04
 */
@Service
public class KfToolsRequesterServiceImpl implements KfToolsRequesterService 
{
	@Autowired
	private KfToolsRequesterMapper kfToolsRequesterMapper;

	/**
     * 查询委托单位信息
     * 
     * @param id 委托单位ID
     * @return 委托单位信息
     */
    @Override
	public KfToolsRequester selectKfToolsRequesterById(String id)
	{
	    return kfToolsRequesterMapper.selectByPrimaryKey(id);
	}
	
	/**
     * 查询委托单位列表
     * 
     * @param KfToolsRequester 委托单位信息
     * @return 委托单位集合
     */
	@Override
	@DataScope(tableAlias = "b2")
	public List<KfToolsRequester> selectKfToolsRequesterList(KfToolsRequester kfToolsRequester)
	{
	    return kfToolsRequesterMapper.selectKfToolsRequesterList(kfToolsRequester);
	}
	
    /**
     * 新增委托单位
     * 
     * @param KfToolsRequester 委托单位信息
     * @return 结果
     */
	@Override
	@Transactional
	public int insertKfToolsRequester(KfToolsRequester kfToolsRequester)
	{
		UUID uuid = UUID.randomUUID();
		kfToolsRequester.setId(uuid.toString());
		kfToolsRequester.setStatus("1");
		kfToolsRequester.setCreateDate(new Date());
	    return kfToolsRequesterMapper.insertSelective(kfToolsRequester);
	}
	
	/**
     * 修改委托单位
     * 
     * @param KfToolsRequester 委托单位信息
     * @return 结果
     */
	@Override
	@Transactional
	public int updateKfToolsRequester(KfToolsRequester kfToolsRequester)
	{
		kfToolsRequester.setUpdateDate(new Date());
	    return kfToolsRequesterMapper.updateByPrimaryKeySelective(kfToolsRequester);
	}

	/**
     * 删除委托单位对象
     * 
     * @param ids 需要删除的数据ID
     * @return 结果
     */
	@Override
	public int deleteKfToolsRequesterByIds(String ids)
	{
		return kfToolsRequesterMapper.deleteKfToolsRequesterByIds(Convert.toStrArray(ids));
	}

	/**
	 * 
	 * @Description 根据厂家名称查询厂家信息
	 * @CreateTime 2019年4月29日 上午8:55:10
	 * @CreateBy 林龙
	 * @param factoryName
	 * @return
	 */
	@Override
	public KfToolsRequester selectByFactoryName(String factoryName) {
		return kfToolsRequesterMapper.selectByFactoryName(factoryName);
	}
	
}
